/***********************************************************************************
							FUNCION AJAX PARA EJECUCION DE ENTES 								
***********************************************************************************/
var url_ubicacion = "";
var url= "";

function ejecutarEnte(parametros)
{	$.ajax({ async:true, type: "GET", dataType: "html", url:"parts/ejecutores_financieros/ajax/ejecutarEnteF.php", data:parametros, beforeSend:inicioEnte, success:llegadaDatosEnte, timeout:2000, error:problemasEnte }); 
	return false;
}

function inicioEnte()
{

      $("#ejecutarEnte").html("<IMG src='" + url_ubicacion + "img/cargando.gif' height='15' width='15' alt='Cargando...'>");
}

function llegadaDatosEnte(datos)
{
	alert ("Ente Ejecutor Financiero Modificado");
	setTimeout("javascript:updateView('parts/ejecutores_financieros/ejecutores_financieros.php')"); 
}

function problemasEnte()
{
	$("#ejecutarEnte").text('Problemas en el Servidor.');
}


/************************************************************************************/
/*																										*/
/*			FUNCION PARA OPCIONES INSERTAR, EDITAR, CONSULTAR		*/
/*																										*/
/************************************************************************************/
function consultar(parametro)
{
	document.getElementById('_').value = parametro;
	document.formulario.submit();
}


/***********************************************************************************
							FUNCION PARA LA VALIDACION DEL FORMULARIO								
***********************************************************************************/
function valida_ente()
{
	if(vacio(document.formulario.nombre.value) == false)
	{	alert("El campo 'NOMBRE DEL ENTE EJECUTOR FINANCIERO' no debe de estar vacio.");
      	document.formulario.nombre.focus();
      	return false;
	}

	if(validarEspacios(document.formulario.nombre.value) == false)
 	{	alert("El campo 'NOMBRE DEL ENTE EJECUTOR FINANCIERO' no debe tener mas de un espacio entre palabras");
       	document.formulario.nombre.focus();
       	return false;
 	} 

	if(busca_caracter(document.formulario.nombre.value) == false)
	{	alert("El campo 'NOMBRE DEL ENTE EJECUTOR FINANCIERO' solo debe contener letras o numeros.");
      	document.formulario.nombre.focus();
      	return false;
	}
	//Falta Validaciòn del rif

	if(vacio(document.formulario.tpo_rif.value) == false)
	{	alert("El campo 'TIPO DE RIF' no debe de estar vacio.");
      	document.formulario.tpo_rif.focus();
      	return false;
	}
	
	if(vacio(document.formulario.rif.value) == false)
	{	alert("El campo 'RIF' no debe de estar vacio.");
      	document.formulario.rif.focus();
      	return false;
	}

	if(busca_num(document.formulario.rif.value) == false)
	{	alert("El campo 'RIF' solo debe contener numeros o guión(-).");
      	document.formulario.rif.focus();
      	return false;
	}

	if(vacio(document.formulario.siglas.value) == false)
	{	alert("El campo 'SIGLAS DEL ENTE EJECUTOR FINANCIERO' no debe de estar vacio.");
      	document.formulario.persona_contacto.focus();
      	return false;
	}

	if(vacio(document.formulario.persona_contacto.value) == false)
	{	alert("El campo 'PERSONA CONTACTO DEL ENTE EJECUTOR FINANCIERO' no debe de estar vacio.");
      	document.formulario.persona_contacto.focus();
      	return false;
	}

	if(vacio(document.formulario.telefono_contacto.value) == false)
	{	
	alert("El campo 'TELEFONO CONTACTO DEL ENTE EJECUTOR FINANCIERO' no debe de estar vacio.");
      	document.formulario.telefono_contacto.focus();
      	return false;
	}

	if(busca_num(document.formulario.telefono_contacto.value) == false)
	{	alert("El campo 'TELEFONO CONTACTO DEL ENTE EJECUTOR FINANCIERO' solo debe contener nùmeros.");
      	document.formulario.telefono_contacto.focus();
      	return false;
	}

	if(Telefono(document.formulario.telefono_contacto.value) == false)
	{	
	alert("El campo 'TELEFONO CONTACTO DEL ENTE EJECUTOR VENEZOLANO' debe tener una longitud de 11 carácteres.");
      	document.formulario.telefono_contacto.focus();
      	return false;
	}
	
	if(vacio(document.formulario.correo_contacto.value) == false)
	{	alert("El campo 'CORREO DE CONTACTO DEL EJECUTOR VENEZOLANO' no debe de estar vacio.");
      	document.formulario.correo_contacto.focus();
      	return false;
	}
	
	if(validarEmail(document.formulario.correo_contacto.value) == false)
	{
	alert("La dirección de correo ingresada es incorrecta.");
      	document.formulario.nombre.focus();
      	return false;
	}

	if(document.formulario.ente_adscrito.checked==true)
	{
		if(vacio(document.formulario.ente_adscrito_padre.value)==false)
		{
			alert("Debe Seleccionar el Ente Adscrito.");
      			document.formulario.ente_adscrito_padre.focus();
			return false;
		}

	}
	
	if(document.formulario.accion.value==1)
	{
			var tipo_rif=(document.formulario.tpo_rif.value);
			if (tipo_rif == 6)
			{
				tipo_rif='G';
			}
			if (tipo_rif == 5)
			{

				tipo_rif='B';
			}
			if (tipo_rif == 4)
			{
				tipo_rif='P';
			}
			if (tipo_rif == 3)
			{
				tipo_rif='J';
			}
			if (tipo_rif == 2)
			{
				tipo_rif='E';
			}
			if (tipo_rif == 1)
			{
				tipo_rif='V';
			}			
	var rif1 = caracter_malo(document.formulario.rif.value);
	var rif=tipo_rif+rif1;
	var para="rif="+rif;
	$.ajax({ async:true, type: "GET", dataType: "html", url:"parts/ejecutores_financieros/ajax/validarRif.php", data:para, success:llegadaValidacion, timeout:2000, error:problemasEnte }); 
	}

	else
	{
		if(document.formulario.accion.value==2) 
		{ 
			
			var tipo_rif=(document.formulario.tpo_rif.value);
			if (tipo_rif == 6)
			{
				tipo_rif='G';
			}
			if (tipo_rif == 5)
			{

				tipo_rif='B';
			}
			if (tipo_rif == 4)
			{
				tipo_rif='P';
			}
			if (tipo_rif == 3)
			{
				tipo_rif='J';
			}
			if (tipo_rif == 2)
			{
				tipo_rif='E';
			}
			if (tipo_rif == 1)
			{
				tipo_rif='V';
			}			
			var rif1 = caracter_malo(document.formulario.rif.value);
			var rif=tipo_rif+rif1;
			var id=caracter_malo(document.formulario.id.value);
			var para="rif="+rif+"&id="+id;
			$.ajax({ async:true, type: "GET", dataType: "html", url:"parts/ejecutores_financieros/ajax/validarRifModi.php", data:para, success:llegadaValidacion, timeout:2000, error:problemasInsertar }); 
		}
	
	}
}

function llegadaValidacion(datos)
{		if(datos==1){
		alert("Ya existe un Ente Ejecutor Financiero con este Rif");
		return false;
		}
		if (datos==0)
		{	
			if(document.formulario.accion.value==1)
			{
			var nombre = caracter_malo(document.formulario.nombre.value);
			//ojo aqui hay que validar con el formato del rif que venga de la validacion
			var tipo_rif=(document.formulario.tpo_rif.value);
			if (tipo_rif == 6)
			{
				tipo_rif='G';
			}
			if (tipo_rif == 5)
			{

				tipo_rif='B';
			}
			if (tipo_rif == 4)
			{
				tipo_rif='P';
			}
			if (tipo_rif == 3)
			{
				tipo_rif='J';
			}
			if (tipo_rif == 2)
			{
				tipo_rif='E';
			}
			if (tipo_rif == 1)
			{
				tipo_rif='V';
			}			
			var rif1 = caracter_malo(document.formulario.rif.value);
			var rif=tipo_rif+rif1;
			var siglas=caracter_malo(document.formulario.siglas.value);
			var persona_contacto = caracter_malo(document.formulario.persona_contacto.value);
			var telefono_contacto = caracter_malo(document.formulario.telefono_contacto.value);
			var correo_contacto = caracter_malo(document.formulario.correo_contacto.value);
			var accion= caracter_malo(document.formulario.accion.value);
			var fecha_registro= (document.formulario.fecha_recibe.value);
			var id_usr_registro= caracter_malo(document.formulario.id_usr.value)
			if(document.formulario.ente_adscrito.checked)
			{
			var ente_adscrito=1;
			var ente_padre=caracter_malo(document.formulario.ente_adscrito_padre.value);
			}
						
var parametros="nombre="+nombre+"&rif="+rif+"&siglas="+siglas+"&persona_contacto="+persona_contacto+"&telefono_contacto="+telefono_contacto+"&accion="+accion+"&fecha_registro="+fecha_registro+"&id_usr_registro="+id_usr_registro+"&ente_adscrito="+ente_adscrito+"&ente_padre="+ente_padre+"&correo_contacto="+correo_contacto;
			insertarEnte(parametros);
}
		
		if(document.formulario.accion.value==2)
		{
		var id_ente= caracter_malo(document.formulario.id.value);
		var nombre = caracter_malo(document.formulario.nombre.value);
		var tipo_rif=(document.formulario.tpo_rif.value);
			if (tipo_rif == 6)
			{
				tipo_rif='G';
			}
			if (tipo_rif == 5)
			{

				tipo_rif='B';
			}
			if (tipo_rif == 4)
			{
				tipo_rif='P';
			}
			if (tipo_rif == 3)
			{
				tipo_rif='J';
			}
			if (tipo_rif == 2)
			{
				tipo_rif='E';
			}
			if (tipo_rif == 1)
			{
				tipo_rif='V';
			}			
			var rif1 = caracter_malo(document.formulario.rif.value);
			var rif=tipo_rif+rif1;
			var siglas=caracter_malo(document.formulario.siglas.value);
		var persona_contacto = caracter_malo(document.formulario.persona_contacto.value);
		var telefono_contacto = caracter_malo(document.formulario.telefono_contacto.value);
		var correo_contacto = caracter_malo(document.formulario.correo_contacto.value);
		var accion= caracter_malo(document.formulario.accion.value);
		
		if(document.formulario.ente_adscrito.checked)
		{
		var ente_adscrito=1;
		var ente_padre=caracter_malo(document.formulario.ente_adscrito_padre.value);
		}
var parametros="nombre="+nombre+"&rif="+rif+"&siglas="+siglas+"&persona_contacto="+persona_contacto+"&telefono_contacto="+telefono_contacto+"&accion="+accion+"&ente_adscrito="+ente_adscrito+"&ente_padre="+ente_padre+"&id_ente="+id_ente+"&correo_contacto="+correo_contacto;
	ejecutarEnte(parametros);}
	}
}
/********************************Elimina Entes FINANCIEROs*************************/

function elimina_ente()
{	
	if(document.formulario.accion.value==0){
	var confirmar=confirm("¿Realmente desea Eliminar este Ente?");
	if(confirmar==true)
	{
		var id_ente= caracter_malo(document.formulario.id.value); 
		var parametros="id_ente="+id_ente;
		eliminarEnte(parametros);
	} else{ 
		javascript:updateView('parts/ejecutores_financieros/ejecutores_financieros.php');
		
		}
	}
}


/*******************************************************************
DESCRIPCION: Funcion para ELIMINAR CARACTERES NO VALIDO
********************************************************************/
	function caracter_malo(checkStr)
	{
		var checkBAD = "*/-'#\"\\";
		var checkFinal="";
		for (i = 0;  i < checkStr.length;  i++)
		{
			band=0;
			c1 = checkStr.charAt(i);
			for (j = 0;  j < checkBAD.length;  j++)
			{
				c2 = checkBAD.charAt(j);
				if(c2==c1 )
				{
					band=1; break;
				}
			}
			if (band == 0)
			{
				checkFinal=checkFinal+c1;
			}
		}
		return checkFinal;  
  }

/************************************************************************
DESCRIPCION: busca caracteres que no sean espacio en blanco en una cadena
*************************************************************************/
function vacio(campo) {
	for ( i = 0; i < campo.length; i++ ) {
		if ( campo.charAt(i) != "0" ) {
			return true
		}
	}
	return false
}


/***********************************************************************************
							FUNCION AJAX PARA LA ELIMINACION DEL PERFIL								
***********************************************************************************/
function eliminarEnte(parametros)
{	
  	$.ajax({ async:true, type: "GET", dataType: "html", url:"parts/ejecutores_financieros/ajax/eliminarEnteF.php", data:parametros, beforeSend:inicioEliminar, success:llegadaEliminar, timeout:2000, error:problemasEliminar }); 
	return false;
}

function inicioEliminar()
{

      $("#eliminarEnte").html("<IMG src='" + url_ubicacion + "img/cargando.gif' height='15' width='15' alt='Cargando...'>");
}

function llegadaEliminar(datos)
	
	{

	if(datos==6)
	{	
	
	alert("NO SE PUEDE DESACTIVAR: Esta Fuente de Financiamiento está asignada a un proyecto");
	setTimeout("javascript:updateView('parts/ejecutores_financieros/ejecutores_financieros.php')");
	return false; 
	}
	else
	{
	if(datos==4)
	{
	alert ("Fuente de Financiamiento  Desactivada");
	setTimeout("javascript:updateView('parts/ejecutores_financieros/ejecutores_financieros.php')"); 
	}
}
}
function problemasEliminar()
{
	$("#eliminarEnte").text('Problemas en el Servidor.');
}

/***********************************************************************************
							FUNCION AJAX PARA LA INSERTAR  ENTE								
***********************************************************************************/
function insertarEnte(parametros)
{	$.ajax({ async:true, type: "GET", dataType: "html", url:"parts/ejecutores_financieros/ajax/ejecutarEnteF.php", data:parametros, beforeSend:inicioInsertar, success:llegadaInsertar, timeout:2000, error:problemasInsertar }); 
	return false;
}

function inicioInsertar()
{
	
      $("#insertarEnte").html("<IMG src='" + url_ubicacion + "img/cargando.gif' height='15' width='15' alt='Cargando...'>");
}


function llegadaInsertar(datos)
{
	alert ("Fuente de Financiamiento Registrada Correctamente")
	setTimeout("javascript:updateView('parts/ejecutores_financieros/ejecutores_financieros.php')"); 
}

function problemasInsertar()
{
	$("#insertarEnte").text('Problemas en el Servidor.');
}

function cambiar_estatus()
{
	var id_ente= caracter_malo(document.formulario.id.value);
 	var accion = caracter_malo(document.formulario.accion.value); 
 
 	var parametros="id_ente="+id_ente+"&accion="+accion;	
 	ejecutarEnte(parametros);
}

/************************************************************************
DESCRIPCION: busca caracteres que no sean numeros o letras
*************************************************************************/
function busca_caracter(checkStr) {
var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú " + "0123456789";
var allValid = true;
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
if (!allValid) {
return (false);
}
}

/*************************************************************************************************
DESCRIPCI0N: Verifica que si existen espacios en blanco consecutivos en una cadena de caracteres
*************************************************************************************************/
function validarEspacios(checkStr){
var cont=0;
for(i=0;i<checkStr.length;i++)
 {
 	if (checkStr.charAt(i)==" ") {cont++;}
	else cont=0;
 	if (cont==2) {  return (false);}
 
 }
 return (true);
}   

/************************************************************************
DESCRIPCION: busca caracteres que no sean numeros o letras
*************************************************************************/
function busca_num(checkStr) {
var checkOK = "0123456789-";
var allValid = true;
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
if (!allValid) {
return (false);
}
}


/**********************************Función para la validación del Rif******************************************/
function Rif(campo)
{
	var longitudCampo=campo.length
	if (longitudCampo>9)
	{
		alert("La longitud del campo es incorrecta");
		document.getElementById("tpo_rif").value=0;
		document.getElementById("rif").value="";
		document.getElementById("rif").focus();
		return false;
	}
	else
	{
		if(document.getElementById("tpo_rif").value==0)	
		{
			alert("Debe indicar primero la clasificaci�n del RIF");
			document.getElementById("rif").value="";
			document.getElementById("rif").focus();
			return true;
		}
		else
		{
			if(ValidarRif(campo, document.getElementById("tpo_rif").value)==false)
			{
				document.getElementById("tpo_rif").value=0;
				document.getElementById("rif").value="";
				document.getElementById("rif").focus();
				return false;
			}
		}	
	}
}
/**************************VALidar el rif correcto*********************************************************/
function ValidarRif(rif, tipo_rif)
{
	//tipo_rif = document.formulario.tipo_rif.value;
//alert("rif "+rif+ "tpo "+tipo_rif);
			var rif_num= rif.substring(0,8);
			var ultimo=rif.substring(8,9);
			//alert("campos de cedula: "+rif_num+" ultimo: "+ultimo);
			if (tipo_rif == '6')
			{
			tipo_rif=5;
			}
			var rif = tipo_rif + rif_num;
			var rif_num = parseInt(rif);
			var valor =1;
			var producto=0;
			var rif_final=rif_num/10;
	
			while(rif_num!=0)
			{
				if (valor ==7)
					{
						valor = 2; 
					}
					else
					{
						valor = valor + 1;
					}
				if(rif_num/10 != 0)
				{
				var producto=parseInt(((rif_num%10)*valor) + producto);
				} 
				else
				{
				var producto =parseInt(rif_num + producto);
				}
				rif_num=parseInt(rif_num/10);
			} // Cierra el While que hará la operación para el càlcula del rif
	
			var residuo = parseInt (producto/11);
			var resto = parseInt (residuo * 11);
			var resto1 = parseInt (producto-resto);
			var digito1 = parseInt(11-resto1);
	
			if(digito1=='10' || digito1=='11')
			{
				digito1=0;
			}
			
			if(digito1!=ultimo)
			{
				alert ("El RIF no es válido");				
				return false;
				exit();
			}
}

function validarEmail(valor) 

{

	if (/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/.test(valor))

	{

		return (true);

	} 

	else 

	{		

		return (false);

	}

}

function Telefono(valor)

 {

	var valor_campo=valor;

	

	

	if(valor_campo!="")

	{

		var num_cf='';

	

	num_cf=valor_campo.substring(0,4)+"-";

	num_cf+=valor_campo.substring(4,11);

	valor.value=num_cf;


	var dato =  new String();

   	dato = valor;

	var longitudCampo=dato.length;

	if(longitudCampo!=11)

	{

		return(false);

	}

		

	}



}